Курс повышения квалификации предназначен для инженерно-технических работников с высшим или средним профессиональным образованием (автоматизированные системы, робототехника, вычислительная техника и т.п.), занимающихся разработкой автоматизированных и робототехнических систем, владеющих навыками по программированию на языках С++ и Python.
Программа курса направлена на формирование или совершенствование профессиональных компетенций в области разработки программного обеспечения для робототехнических комплексов и организации информационного обмена между робототехническими и автоматизированными системами.
Требования к уровню подготовки слушателя: обязательно наличие базовых навыков программирования на C/C++ или Python.
Слушателям, успешно прошедшим обучение, выдается удостоверение о повышении квалификации установленного образца.
Онлайн-обучение: в формате видеоконференции
Профессиональная компетенция, полученная слушателями при освоении настоящей программы, необходима для выполнения следующих видов профессиональной деятельности:
В результате освоения программы слушатель должен:
знать:
принципы функционирования Robot Operating System;
уметь:
создавать программные компоненты, которые используют механизмы ROS для выполнения поставленных задач;
Тема 1. Концепция фреймворка ROS
Понятие фреймворка и его состав. Предпосылки создания фреймворка. Основные этапы развития. ROS-Industrial. Основные отличия ROS первого и второго поколения. Узел. Сообщения. Типы данных, используемые в сообщении. Топики, публикаторы и подписчики. Сервисы и клиенты. Действия. Параметры.
Тема 2. Организация рабочей среды
Интегрированная среда разработки. Система и инструмент сборки. Языки программирования и клиентские библиотеки. Структура рабочей среды. Рабочее пространство. Пакет. Узел.
Тема 3. Использование сообщений для обмена данными между узлами системы. Пользовательские типы сообщений
Основной принцип функционирования. Способы взаимодействия. Типы сообщений. Существующие типы и основные группы. Пользовательские типы сообщений. Утилиты для контроля за обменом сообщениями.
Тема 4. Сервисы. Применение сервисов для выполнения задач. Пользовательские типы сервисов
Основной принцип функционирования. Способы взаимодействия. Типы сервисов. Существующие типы и основные группы. Пользовательские типы сервисов. Утилиты для работы с сервисами.
Тема 5. Параметры. Конфигурации запуска с использованием параметров
Общий принцип работы параметров. Утилиты для работы с параметрами. Передача параметров через аргументы командной строки. Создание конфигураций запуска
Тема 6.1. Описание пространственного положения компонентов робототехнических систем
Параметры местоположения мобильной платформы. Описание перемещения. Описание вращения. Углы поворота. Матрица поворота. Кватернион. Основные соглашения о единицах измерения и системах координат.
Тема 6.2. Пространственные трансформации. Формат данных с датчиков
Понятие фрейма как локальной системы координат. Основные системы координат. Описание трансформаций между системами координат. Данные с датчиков: разновидности и особенности. Представление данных с датчика на примере дальномера.
Тема 7. Передача и визуализация изображений
Формат сообщений для передачи изображений. Особенности передачи изображений в ROS. Средства для взаимодействия с библиотекой OpenCV.
Тема 8. Формирование, передача и визуализация облаков точек
Типы данных для передачи облаков точек в ROS. Особенности файловых форматов для хранения облаков точек. Загрузка, передача и визуализация облаков точек. Взаимодействие с библиотекой PCL.
Тема 9. Пакеты, модули и расширения ROS
Концепция пакетов ROS. Запись и воспроизведения данных. Модуль диагностики. Модули алгоритмов прямой и обратной кинематики. Модули картографирования. Симуляторы.
Итоговая аттестация